home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-04-02 | 53.4 KB | 1,391 lines |
- Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
- Path: bloom-beacon.mit.edu!hookup!news.moneng.mei.com!howland.reston.ans.net!agate!ihnp4.ucsd.edu!pacbell.com!decwrl!decwrl!olivea!grapevine.lcs.mit.edu!think.com!spdcc!iecc!compilers-sender
- From: free-compilers@idiom.berkeley.ca.us (Steve Robenalt)
- Subject: Catalog of compilers, interpreters, and other language tools [p4of5]
- Message-ID: <free4-Apr-94@comp.compilers>
- Followup-To: comp.lang.misc
- Summary: Monthly posting of free language tools that include source code
- Keywords: tools, FTP, administrivia
- Sender: compilers-sender@chico.iecc.com
- Supersedes: <free4-Mar-94@comp.compilers>
- Reply-To: free-compilers@idiom.berkeley.ca.us (Steve Robenalt)
- Organization: Idiom Consulting / Berkeley, CA
- References: <free3-Apr-94@comp.compilers>
- Date: Fri, 1 Apr 1994 12:00:39 GMT
- Approved: compilers@iecc.com
- Expires: Sun, 1 May 1994 23:59:00 GMT
- Lines: 1371
- Xref: bloom-beacon.mit.edu comp.compilers:2737 comp.lang.misc:3643 comp.archives.admin:572 news.answers:17143 comp.answers:4374
-
- Archive-name: free-compilers/part4
- Last-modified: 1994/3/31
- Version: 6.41
-
-
- concurrent, parallel, and simulation languages
- -------------------------------------------------------------------------------
- category: concurrent, parellel, and simulation languages
- description: This is a fairly broad category of languages. Most of the
- implementations in this set are not good enough to be used in
- production systems. Some are. In addition to those listed
- below, see:
- lref: Concurrent Clean
- lref: Concurrent ML
- lref: EuLisp
- lref: Parallaxis
- lref: Maisie
- lref: micro-C++
- lref: MeldC
- lref: pm2
-
- language: ABCL/1 (An object-Based Concurrent Language)
- package: ABCL/1
- version: ?
- parts: ?
- author: Akinori Yonezawa, ABCL Group now at Department of Information
- Science, the University of Tokyo
- how to get: ftp pub/abcl1/* from camille.is.s.u-tokyo.ac.jp
- description: Asynchronous message passing to objects.
- reference: "ABCL: An Object-Oriented Concurrent System", Edited by
- Akinori Yonezawa, The MIT Press, 1990, (ISBN 0-262-24029-7)
- restriction: no commercial use, must return license agreement
- requires: Common Lisp
- contact: abcl@is.s.u-tokyo.ac.jp
- updated: 1990/05/23
-
- language: ABCL ???
- package: ABCL/R2
- version: ?
- parts: ?
- author: masuhara@is.s.u-tokyo.ac.jp, matsu@is.s.u-tokyo.ac.jp,
- takuo@is.s.u-tokyo.ac.jp, yonezawa@is.s.u-tokyo.ac.jp
- how to get: ftp pub/abclr2/* from camille.is.s.u-tokyo.ac.jp
- description: ABCL/R2 is an object-oriented concurrent reflective language
- based on Hybrid Group Architecture. As a reflective language,
- an ABCL/R2 program can dynamically control its own behavior,
- such as scheduling policy, from within user-program. An an
- object-oriented concurrent language, this system has almost all
- functions of ABCL/1.
- requires: Common Lisp
- updated: 1993/01/28
-
- language: ALLOY
- package: ALLOY
- version: 2.0?
- parts: interpreter, documentation, examples
- author: Thanasis Mitsolides <mitsolid@cs.nyu.edu>
- how to get: ftp pub/local/alloy/* from cs.nyu.edu
- description: ALLOY is a higher level parallel programming language
- appropriate for programming massively parallel computing
- systems. It is based on a combination of ideas from
- functional, object oriented and logic programming languages.
- The result is a language that can directly support
- functional, object oriented and logic programming styles
- in a unified and controlled framework. Evaluating modes
- support serial or parallel execution, eager or lazy
- evaluation, non-determinism or multiple solutions etc.
- ALLOY is simple as it only requires 29 primitives in all
- (half of which for Object Oriented Programming support).
- ports: sparc, ?
- updated: 1991/06/11
-
- language: Cellang (Cellular Automata)
- package: Cellular
- version: 2.0
- parts: byte-code compiler, runtime, viewer
- author: J Dana Eckart <dana@rucs.faculty.cs.runet.edu>
- how to get: comp.sources.unix, volume 26
- description: A system for cellular automata programming.
- updated: 1993/04/03
-
- language: Hermes
- package: IBM Watson prototype Hermes system
- version: 0.8alpha patchlevel 01
- parts: bytecode compiler, compiler(bytecode->C), runtime
- author: Andy Lowry <lowry@watson.ibm.com>
- how to get: ftp pub/hermes/README from software.watson.ibm.com
- description: Hermes is a very-high-level integrated language and
- system for implementation of large systems and
- distributed applications, as well as for
- general-purpose programming. It is an imperative,
- strongly typed, process-oriented language. Hermes
- hides distribution and heterogeneity from the
- programmer. The programmer sees a single abstract
- machine containing processes that communicate using
- calls or sends. The compiler, not the programmer,
- deals with the complexity of data structure layout,
- local and remote communication, and interaction with
- the operating system. As a result, Hermes programs are
- portable and easy to write. Because the programming
- paradigm is simple and high level, there are many
- opportunities for optimization which are not present in
- languages which give the programmer more direct control
- over the machine.
- reference: Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Hermes: A
- Language for Distributed Computing. Prentice-Hall, Englewood
- Cliffs, NJ. 1991. ISBN: O-13-389537-8.
- ports: RS6000 Sun-4 NeXT IBM-RT/bsd4.3 (Sun-3 and Convex soon)
- discussion: comp.lang.hermes
- updated: 1992/03/22
-
- language: PCN
- package: PCN
- version: 2.0
- parts: compiler?, runtime, linker, libraries, tools, debugger,
- profiler, tracer
- author: Ian Foster <foster@mcs.anl.gov>, Steve Tuecke
- <tuecke@mcs.anl.gov>, and others
- how to get: ftp pub/pcn/pcn_v2.0.tar.Z from info.mcs.anl.gov
- description: PCN is a parallel programming system designed to improve
- the productivity of scientists and engineers using parallel
- computers. It provides a simple language for specifying
- concurrent algorithms, interfaces to Fortran and C, a
- portable toolkit that allows applications to be developed
- on a workstation or small parallel computer and run
- unchanged on supercomputers, and integrated debugging and
- performance analysis tools. PCN was developed at Argonne
- National Laboratory and the California Institute of
- Technology. It has been used to develop a wide variety of
- applications, in areas such as climate modeling, fluid
- dynamics, computational biology, chemistry, and circuit
- simulation.
- ports: (workstation nets): Sun4, NeXT, RS/6000, SGI
- (multicomputers): iPSC/860, Touchstone DELTA
- (shared memory multiprocessors): Symmetry/Dynix
- contact: <pcn@mcs.anl.gov>
- updated: 1993/02/12
-
- language: LOOPN
- package: LOOPN
- version: ?
- parts: compiler?, simulator
- author: ?
- how to get: ftp departments/computer_sci*/loopn.tar.Z from ftp.utas.edu.au
- description: I wish to announce the availability of a compiler, simulator
- and associated source control for an object-oriented petri net
- language called LOOPN. In LOOPN, a petri net is an extension
- of coloured timed petri nets. The extension means firstly that
- token types are classes. In other words, they consist of both
- data fields and functions, they can be declared by inheriting
- from other token types, and they can be used polymorphically.
- The object-oriented extensions also mean that module or subnet
- types are classes. LOOPN has been developed over a period of
- about 5 years at the University of Tasmania, where it has been
- used in teaching computer simulation and the modelling of
- network protocols. A petri net is a directed, bipartite graph;
- nodes are either places (represented by circles) or transitions
- (represented by rectangles). A net is marked by placing tokens
- on places. When all the places pointing to a transition (the
- input places) have a token, the net may be fired by removing a
- token from each input place and adding a token to each place
- pointed to by the transition (the output places). Petri nets
- are used to model concurrent systems, particularly in the
- network protocol area.
- contact: Charles Lakos <charles@probitas.cs.utas.edu.au>
- updated: 1992/12/20
-
- language: Simula
- package: Lund Simula
- version: 4.07
- parts: ?
- author: ?
- how to get: ftp misc/mac/programming/+_Simula/* from rascal.ics.utexas.edu
- description: ?
- contact: Lund Software House AB / Box 7056 / S-22007 Lund, Sweden
- updated: 1992/05/22
-
- language: SR (Synchronizing Resources)
- package: sr
- version: 2.0
- parts: ?, documentation, tests
- author: ?
- how to get: ftp sr/sr.tar.Z from cs.arizona.edu
- description: SR is a language for writing concurrent programs.
- The main language constructs are resources and
- operations. Resources encapsulate processes and
- variables they share; operations provide the primary
- mechanism for process interaction. SR provides a novel
- integration of the mechanisms for invoking and
- servicing operations. Consequently, all of local and
- remote procedure call, rendezvous, message passing,
- dynamic process creation, multicast, and semaphores are
- supported.
- reference: "The SR Programming Language: Concurrency in Practice",
- by Gregory R. Andrews and Ronald A. Olsson, Benjamin/Cummings
- Publishing Company, 1993, ISBN 0-8053-0088-0
- ports: Sun-4, Sun-3, Decstation, SGI Iris, HP PA, HP 9000/300,
- NeXT, Sequent Symmetry, DG AViiON, RS/6000, Multimax,
- Apollo, and others.
- discussion: info-sr-request@cs.arizona.edu
- contact: sr-project@cs.arizona.edu
- updated: 1992/09/01
-
- language: UNITY
- package: MasPar Unity
- version: 1.0
- parts: translator(UNITY->MPL), documentation
- author: Martin Huber, University of Karlsruhe, Germany
- how to get: ftp pub/maspar/maspar_unity* from SanFrancisco.ira.uka.de
- description: ?
- contact: Lutz Prechelt <prechelt@ira.uka.de>
- updated: ?
-
- language: UNITY
- package: HOL-UNITY
- version: 2.1
- parts: verification tool
- author: ?
- how to get: ?
- description: ?
- contact: Flemming Andersen <fa@tfl.dk> ?
- updated: ?
-
- Forth family languages
- -------------------------------------------------------------------------------
- category: Forth family languages
- description: These are the stack-based postfix languages.
- lref: Postscript
- iref: (mc6809) 6809, E-Forth
-
- language: Forth
- package: TILE Forth
- version: 2.1
- parts: interpreter
- author: Mikael Patel <mip@sectra.se>
- how to get: ftp tile-forth-2.1.tar.Z from a GNU archive site
- description: Forth interpreter in C; many Forth libraries
- conformance: Forth83
- restriction: shareware/GPL
- ports: unix
- updated: 1991/11/13
-
- language: Forth
- package: cforth
- version: ?
- parts: interpreter
- author: ?
- how to get: comp.sources.unix archive volume 1
- description: ?
- updated: ?
-
- language: Forth
- package: pfe (Portable Forth Environment)
- version: 0.8.0
- parts: ?
- author: Dirk Zoller <duz@roxi.rz.fht-mannheim.de>
- how to get: ftp pub/unix/languages/pfe* from duz@roxi.rz.fht-mannheim.de
- description: A Forth development system that tries to be correct,
- complete, portable, usable and simple. It doesn't try too
- hard to be fast.
- conformance: all dpANS word sets
- ports: Linux, RS/6000, HP-UX
- portability: high
- updated: 1993/08/11
-
- language: Forth
- package: F68K
- version: ?
- parts: ?
- author: ?
- how to get: ftp atari/Languages/f68k.* from archive.umich.edu
- description: a portable Forth system for Motorola 68k computers
- ports: Atari ST/TT, Amiga, Sinclair QL and OS9
- portability: very high for 68000 based systems
- contact: Joerg Plewe <joerg.plewe@mpi-dortmund.mpg.de>
- updated: 1992/12/14
-
- language: Forth
- package: 51forth
- version: ?
- parts: ?
- author: Scott Gehmlich
- how to get: ftp giovanni/51forth.zip from [130.123.96.9]
- description: source and documentation for a 8051 subroutine-
- threaded forth
- contact: ?
- updated: 1993/04/03
-
- language: Mops
- package: Mops
- version: 2.3.1
- parts: compiler, documentation, editor
- author: Michael Hore <mikeh@kralizec.zeta.org.au>
- how to get: ftp pub/Yerk/? from oddjob.uchicago.edu
- description: Like Yerk, Mops is descended from the ex-commercial
- object-oriented language Neon. Mops features an
- optimizing native-code compiler; it is much faster
- than Yerk, but less compatible with Neon. Mops
- includes extensions such as multiple inheritance.
- ports: Macintosh
-
- language: Kevo (Forth-like)
- package: kevo
- version: 0.9b6
- parts: interpreter, demo programs, user's guide, papers
- author: Antero Taivalsaari <tsaari@cs.uta.fi>
- how to get: ftp /pub/kevo/* from cs.uta.fi
- description: Kevo is a prototype-based object-oriented language for
- Macintosh Kevo features a unique prototype-based object model
- (which is based neither on classes nor Self-style delegation),
- multitasking (both preemptive and cooperative), dynamic memory
- management, and an icon-based object browser and editor modeled
- loosely after Mac Finder. Kevo has been built around a portable
- threaded code interpreter, and is syntactically a close
- derivative of Forth.
- ports: Macintosh
- contact: kevo-interest@ursamajor.uvic.ca
- updated: 1993/05/18
-
- language: Yerk
- package: Yerk
- version: 3.62
- parts: ?
- author: ?
- how to get: ftp pub/Yerk/? from oddjob.uchicago.edu
- description: Yerk is an object oriented language based on a
- Forth Kernel with some major modifications. It
- was originally known as Neon, developed and sold
- as a product by Kriya Systems from 1985 to 1989.
- Several of us at The University of Chicago have
- maintained Yerk since its demise as a product.
- Because of the possible trademark conflict that
- Kriya mentions, we picked the name Yerk, which is
- at least not an acronym for anything, but rather
- stands for Yerkes Observatory, part of the Department
- of Astronomy and Astrophysics at U of C.
- updated: ?
-
-
- compiler generators and related tools
- -------------------------------------------------------------------------------
- category: compiler generators and related tools
- description: Yacc, and the rest of its family
-
- language: ABC
- package: Grammar analysis tools
- version: 1
- parts: analysis tools, samples, documentation
- author: Steven Pemberton <Steven.Pemberton@cwi.nl>
- how to get: ftp programming/languages/abc/examples/grammar/*
- from ftp.eu.net or ftp.nluug.net
- description: Grammar analysis program written in ABC (q.v.) for
- answering such questions as "what are the start
- symbols of all rules", "what symbols can follow this
- symbol", "which rules are left recursive", and so on.
- Includes a grammar of ISO Pascal.
- reference: Ftp archive includes an article explaining the package.
- ports: unix, MSDOS, atari, mac
- contact: Steven.Pemberton@cwi.nl
- updated: 1993/07/05
-
- language: ? attribute grammar ?
- package: Alpha
- version: pre-release
- parts: semantic-analysis generator?, documentation(german)
- author: Andreas Koschinsky <koschins@cs.tu-berlin.de>
- how to get: from author
- description: I have written a compiler generator. The generator is called
- Alpha and uses attribute grammars as specification calculus.
- Alpha is the result of a thesis at Technische Universitaet
- Berlin. I am looking for someone who would like to test and use
- Alpha. Alpha generates compilers from a compiler
- specification. This specification describes a compiler in
- terminology of attribute grammars. Parser and Scanner are
- generated by means of Bison and Flex. Alpha generates an
- ASE-evaluator (Jazayeri and Walter). The documentation is in
- german since it is a thesis at a german university.
- updated: 1993/02/16
-
- language: attribute-grammar extension of Yacc and Lex
- package: Ox
- version: G1.01
- parts: Yacc/Lex/C preprocessor, tutorial, reference manual,
- man page, examples, Ox-ready parsers (C, C++, Pascal, Ada,
- Fortran)
- author: Kurt Bischoff <bischoff@cs.iastate.edu>
- how to get: ftp pub/ox/* from ftp.cs.iastate.edu
- description: Ox generalizes the function of Yacc in the way that attribute
- grammars generalize context-free grammars. Ordinary Yacc and
- Lex specifications may be augmented with definitions of
- synthesized and inherited attributes written in C syntax. Ox
- checks these specifications for consistency and completeness,
- and generates from them a program that builds and decorates
- attributed parse trees. Ox accepts a most general class of
- attribute grammars. The user may specify postdecoration
- traversals for easy ordering of side effects such as code
- generation. Ox handles the tedious and error-prone details of
- writing code for parse-tree management, so its use eases
- problems of security and maintainability associated with that
- aspect of translator development. Ox is a preprocessor,
- and extends the syntax and semantics of Yacc, Lex, and C.
- reference: Most compiler textbooks have descriptions of attribute
- grammars.
- features: LALR(1), semantic-analyzer generation.
- bugs: none known. Report bugs to ox-project@cs.iastate.edu.
- restriction: Use of Ox is free. Ox-generated code is the property of
- the Ox user.
- ports: Unix
- contact: ox-request@cs.iastate.edu
- updated: 1993/11/14
-
- language: BNF (Extended)
- package: Gray
- version: 3
- parts: parser generator(Forth)
- author: Martin Anton Ertl <anton@mips.complang.tuwien.ac.at>
- how to get: author; version 2 is on various ftp sites
- description: Gray is a parser generator written in Forth. It takes
- grammars in an extended BNF and produces executable Forth
- code for recursive descent parsers. There is no special
- support for error handling.
- requires: Forth
- ports: TILE Release 2 by Mikael Patel
- updated: 1992/05/22
-
- language: BNF ??
- package: ZUSE
- version: ?
- parts: parser generator(?)
- author: Arthur Pyster
- how to get: ? Univ Calif at Santa Barbara ?
- description: ll(1) paser generator
- requires: Pascal
- updated: 1986/09/23
-
- language: BNF ??
- package: FMQ
- version: ?
- parts: paser generator w/error corrector generator
- author: Jon Mauney
- how to get: ftp from csczar.ncsu.edu
- description: ?
- status: ?
- contact: ?
- updated: 1990/03/31
-
- language: BNF ??
- package: ATS (Attribute Translation System)
- version: ?
- parts: ?
- author: ? University of Saskatchewan ?
- how to get: ?
- description: generates table-driven LL(1) parsers with full insert-only
- error recovery. It also handles full left-attribute semantic
- handling, which is a dream compared to using YACC's parser
- actions.
- status: ?
- contact: ? (suggested: Dave Bocking <bocking@cs.usask.ca>)
- updated: 1988/11/29
-
- language: BNF (Extended)
- package: PCCTS (Purdue Compiler-Construction Tool Set)
- version: 1.10
- parts: scanner generator, parser generator (LL(k)), documentation,
- tutorial
- author: Terence J. Parr <parrt@acm.org>, Will E. Cohen
- <cohenw@ecn.purdue.edu>, Henry G. Dietz <hankd@ecn.purdue.edu>
- how to get: ftp pub/pccts/1.10 from marvin.ecn.purdue.edu
- UK: ftp computing/programming/languages/tools/pccts/*
- from src.doc.ic.ac.uk
- Macintosh: ftp pub/mac/* from maya.dei.unipd.it
- description: PCCTS is similar to a highly integrated version of YACC
- and LEX; where ANTLR (ANother Tool for Language
- Recognition) corresponds to YACC and DLG (DFA-based
- Lexical analyzer Generator) functions like LEX.
- However, PCCTS has many additional features which make
- it easier to use for a wide range of translation
- problems. PCCTS grammars contain specifications for
- lexical and syntactic analysis with selective backtracking
- ("infinite lookahead"), semantic predicates, intermediate-form
- construction and error reporting. Rules may employ Extended
- BNF (EBNF) grammar constructs and may define parameters,
- return values and local variables. Languages described in
- PCCTS are recognized via LL(k) parsers constructed in pure,
- human-readable, C code. Selective backtracking is available
- to handle non-LL(k) constructs. PCCTS parsers may be compiled
- with C++.
- Now includes SORCERER, a tree parser generator. See entry below.
- ports: Unix, DOS, OS/2, Macintosh
- portability: very high
- discussion: send mail with a body of "subscribe pccts-users your_name"
- to pccts-users-request@ahpcrc.umn.edu
- contact: Terence J. Parr <parrt@acm.org>
- Roberto Avanzi (mocenigo@maya.dei.unipd.it) (for the Mac port)
- updated: 1993/09/14
-
- language: BNF (very extended), yacc
- package: PRE-CC Xtended
- version: 2.30
- parts: library, parser generator (LL(oo)), translator(yacc->)
- author: Peter Breuer
- how to get: ftp pub/Programs/preccx230* from ftp.comlab.ox.ac.uk
- (later versions available by subscription)
- description: PRECCX is an infinite-lookahead compiler compiler for context
- dependent grammars. The generated code is ANSI C.
- Specification scripts are in very EBNF with inherited and
- synthetic attributes allowed. Scripts can be compiled in
- separate modules, and linked together later. Meta-production
- rules allowed. The technology is essentially LL(oo) with
- optimizations. A converter for yacc scripts is available.
- reference: "The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen.
- In E. Davies and A. Findlay (eds.),
- Proc. UKUUG/SUKUG Joint New Year 1993 Conference,
- St. Cross Centre, Oxford, UK, 6-8 January 1993,
- ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6 (SUKUG)
- UKUUG/SUKUG Secretariat, Owles Hall, Buntingford,
- Herts SG9 9PL, UK, pp 167-182, 1993.
- ports: unix, MS-DOS
- contact: Peter Breuer <ptb@comlab.ox.ac.uk>,
- Jonathan Bowen <bowen@comlab.ox.ac.uk>
- updated: 1992/08/25
-
- language: BNF ??
- package: LLGen
- version: ?
- parts: parser generator
- author: ? Fischer and LeBlanc ?
- how to get: ? ftp from csczar.ncsu.edu ?
- description: LL(1) parser generator
- conformance: subset of FMQ
- reference: "Crafting A Compiler", by Fischer and LeBlanc
- status: ?
- contact: ?
- updated: 1990/03/31
-
- language: BNF ??
- package: wacco
- version: ?
- parts: parser generator
- author: ?
- how to get: comp.sources.misc volume ?
- description: LL(?) parser generator
- contact: ?
- updated: ?
-
- language: BNF (Extended), BNF (yacc), Modula-2
- package: GMD Toolbox for Compiler Construction (aka Cocktail)
- version: 9209
- parts: parser generator (LALR -> C, Modula-2), documentation,
- parser generator (LL(1) -> C, Modula-2), tests,
- scanner generator (-> C, Modula-2), tests
- translator (Extended BNF -> BNF), translator (Modula-2 -> C),
- translator (BNF (yacc) -> Extended BNF), examples
- abstract syntax tree generator, attribute-evaluator generator,
- code generator
- author: ?
- how to get: ftp pub/cocktail/dos from ftp.karlsruhe.gmd.de
- OS/2: ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo
- description: A huge set of compiler building tools.
- requires: (ms-dos only) DJ Delorie's DOS extender (go32)
- (OS/2 only) emx programming environment for OS/2
- ports: msdos, unix, os/2
- discussion: subscribe to Cocktail using listserv@eb.ele.tue.nl
- contact: Josef Grosch <grosch@karlsruhe.gmd.de>
- OS/2: Willem Jan Withagen <wjw@eb.ele.tue.nl>
- updated: 1992/10/01
-
- language: BNF ????
- package: T-gen
- version: 2.1
- parts: parser generator, documentation, ?
- author: Justin Graver <graver@comm.mot.com>
- how to get: ftp pub/st80_r41/T-gen2.1/* from st.cs.uiuc.edu
- description: T-gen is a general-purpose object-oriented tool for the
- automatic generation of string-to-object translators.
- It is written in Smalltalk and lives in the Smalltalk
- programming environment. T-gen supports the generation
- of both top-down (LL) and bottom-up (LR) parsers, which
- will automatically generate derivation trees, abstract
- syntax trees, or arbitrary Smalltalk objects. The simple
- specification syntax and graphical user interface are
- intended to enhance the learning, comprehension, and
- usefulness of T-gen.
- requires: Smalltalk-80
- ports: ParcPlace Objectworks/Smalltalk 4.0 & 4.1
- updated: 1992/10/18
-
- language: BNF
- package: Eli Compiler Construction System
- version: 3.5
- parts: ?, documentation
- author: ?
- how to get: ftp pub/cs/distribs/eli/* from ftp.cs.colorado.edu
- Europe: ftp unix/eli from ftp.uni-paderborn.de
- description: Eli integrates off-the-shelf tools and libraries with
- specialized language processors to generate complete compilers
- quickly and reliably. It simplifies the development of new
- special-purpose languages, implementation of existing languages
- on new hardware and extension of the constructs and features of
- existing languages.
- ports: Sun-4 (SunOS 4 & 5), Ultrix/MIPS, RS/6000, HP-UX, SGI, Linux
- discussion: <eli-request@cs.colorado.edu>
- contact: <compiler@cs.colorado.edu>, <compiler@uni-paderborn.de>
- updated: 1993/11/01
-
- language: BNF (yacc)
- package: NewYacc
- version: 1.0
- parts: parser generator, documenation
- author: Jack Callahan <callahan@mimsy.cs.umd.edu>
- how to get: ftp src/newyacc.1.0.*.Z from flubber.cs.umd.edu
- description: [someone want to fill it in? --ed]
- reference: see Dec 89 CACM for a brief overview of NewYacc.
- updated: 1992/02/10
-
- language: BNF (yacc)
- package: bison
- version: 1.22
- parts: parser generator, documentation
- author: Robert Corbett ?
- how to get: ftp bison-1.16.tar.Z from a GNU archive site
- description: ?
- bugs: bug-gnu-utils@prep.ai.mit.edu
- restriction: !! will apply the GNU General Public License to *your* code !!
- ports: unix, atari, ?
- updated: 1993/09/14
-
- language: BNF (yacc), Lex
- package: Bison++, Flex++
- version: ?
- parts: parser generator, scanner generator, documentation, samples
- author: ? Alain Coetmeur <coetmeur@icdc.fr>
- how to get: ftp pub/file/{bison,flex,misc}++.tar.gz from iecc.com
- description: GNU's Yacc and Lex, retargeted to C++
- updated: 1993/07/08
-
- language: BNF (yacc)
- package: ? jaccl ?
- version: ?
- parts: parser generator
- author: Dave Jones <djones@megatest.uucp>
- how to get: ?
- description: a LR(1) parser generator
- updated: 1989/09/08
-
- language: BNF (yacc)
- package: byacc (Berkeley Yacc)
- version: 1.9
- parts: parser generator
- author: Robert Corbett <Robert.Corbett@eng.sun.com>
- how to get: ftp pub/byacc.tar.1.9.Z from vangogh.CS.Berkeley.EDU
- description: probably the best yacc variant around. Previously known as
- Zoo, and before that, as Zeus.
- updated: 1993/02/22
-
- language: BNF (yacc), Lex
- package: Lex/Yacc for Turbo Pascal uploaded
- version: ?
- parts: parser generator, scanner generator, documentation?
- author: ?
- how to get: iecc.com (140.186.81.1) at pub/file/lyprg.zip.
- description: Lex and Yacc retargeted to Pascal.
- contact: ? dpoole@hydrogen.oscs.montana.edu (David Poole)
- updated: 1993/07/02
-
- language: BNF (yacc), Ada
- package: aflex-ayacc
- version: 1.2a
- parts: parser generator (Ada), scanner generator (Ada)
- author: IRUS (Irvine Research Unit in Software)
- how to get: ftp pub/irus/aflex-ayacc_1.2a.tar.Z from liege.ics.uci.edu
- description: Lex and Yacc equivalents that produce Ada output
- announcements: irus-software-request@ics.uci.edu
- contact: irus-software-request@ics.uci.edu
- updated: 1993/01/06
-
- language: BNF (variant), Icon
- package: Ibpag2 (Icon-Based Parser Generation System 2)
- version: 1.0 (beta)
- parts: parser generator (Icon, SLR(1))
- author: Richard L. Goerwitz <goer@midway.uchicago.edu>
- how to get: comp.sources.misc archive
- description: Ibpag2 is a parser generator for Icon. It does most
- of what you would expect. Latest version can handle both
- SLR(1) and even GLR (Tomita) grammars.
- ports: unix
- portability: ? (Unix dependencies?)
- updated: 1993/07/13
-
- language: BNF ?, Gofer
- package: Ratatosk ?
- version: ?
- parts: parser generatr (Gofer)
- author: Torben AEgidius Mogensen <torbenm@diku.dk>
- how to get: ftp pub/diku/dists/Ratatosk.tar.Z from ftp.diku.dk
- description: Ratatosk is a SLR parser generator in Gofer (a Haskell variant)
- that generates purely functional parsers (also in Gofer). Even
- though the sematic value of a production is a function of the
- attributes of its right-hand side (and thus apparently purely
- synthesized), inherited attributes are easily simulated by
- using higher order functions.
- ports: ?
- updated: ?
-
- language: BNF
- package: lalr.ss - An LALR(1) parser generator
- version: 0.9
- parts: parser generator (->Scheme)
- author: Mark Johnson <mj@cs.brown.edu>
- how to get: ftp new/lalr.shar from the Scheme Repository
- description: A LALR(1) parser generator in and for Scheme.
- requires: Scheme
- updated: 1993/05/24
-
- language: BURS ?
- package: Iburg
- version: ?
- parts: parser generator?
- author: Christopher W. Fraser <cwf@research.att.com>, David R. Hanson
- <drh@princeton.edu>, Todd A. Proebsting <todd@cs.arizona.edu>
- how to get: ftp pub/iburg.tar.Z from ftp.cs.princeton.edu
- description: Iburg is a program that generates a fast tree parser. It is
- compatible with Burg. Both programs accept a cost-augmented
- tree grammar and emit a C program that discovers an optimal
- parse of trees in the language described by the grammar. They
- have been used to construct fast optimal instruction selectors
- for use in code generation. Burg uses BURS; Iburg's matchers
- do dynamic programming at compile time.
- updated: 1993/02/10
-
- language: Candle, IDL (Interface Description Language)
- package: Scorpion System
- version: 6.0
- parts: software development environment for developing
- software development environments, documentation
- author: University of Arizona
- how to get: ftp scorpion/* from cs.arizona.edu
- description: 20 tools that can be used to construct specialized
- programming environments.
- The Scorpion Project was started by Prof. Richard
- Snodgrass as an outgrowth of the SoftLab Project (which pro-
- duced the IDL Toolkit) that he started when he was at the
- University of North Carolina. The Scorpion Project is
- directed by him at the University of Arizona and by Karen
- Shannon at the University of North Carolina at Chapel Hill.
- reference: "The Interface Description Language: Definition and Use,"
- by Richard Snodgrass, Computer Science Press, 1989,
- ISBN 0-7167-8198-0
- ports: Sun-3, Sun-4, Vax, Decstation, Iris, Sequent, HP9000
- discussion: info-scorpion-request@cs.arizona.edu
- contact: scorpion-project@cs.arizona.edu
- updated: 1993/11/04
-
- language: COCOL (EBNF variant)
- package: COCO/R
- version: 1.34
- parts: parser generator(LL(1))
- author: Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
- Port to Modula-2 done by Marc Brandis, Christof Brass
- and Pat Terry <cspt@alpha.ru.ac.za>
- how to get: ftp Oberon/Examples/Coco from neptune.inf.ethz.ch
- Modula-2: ftp pub/coco from alpha.ru.ac.za
- description: Coco/R generates recursive descent parsers and their associated
- scanners from attributed grammars. Coco/R can bootstrap itself
- to generate its own driver, parser, scanner, and semantic
- evaluator from the attributed grammar CR.ATG. This grammar
- thus serves as an an example of how to write compiler
- descriptions for Coco. There are also other simpler examples
- showing its use.
- references: _A compiler generator for microcomputers_, by Rechenberg
- and Mossenbock (Prentice Hall, 1989, 0-13-155136-1)
- bugs: MS-DOS related versions: Pat Terry <cspt@alpha.ru.ac.za>
- Other: Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
- requires: Oberon or Modula-2
- ports: MS-DOS: TopSpeed Modula-2; FST 2.0; FST 3.1; StonyBrook
- QuickMod 2.2; Logitech 3.03. Macintosh: Apple MacMeth
- status: Oberon version is freely available?, Modula-2 version is
- free to academic sites; commercial use requires a license
- updated: 1994/01/13
-
- language: EAG (Extended Affix Grammar)
- package: EAG
- version: first public release
- parts: recognizer generator, transduccer generator,
- translator generator, editor generator, documentation
- author: Marc Seutter <marcs@cs.kun.nl>
- how to get: ftp pub/eag/* from hades.cs.kun.nl
- description: The Extended Affix Grammar formalism, or shortly EAG, is a
- formalism for describing both the context free and the context
- sensitive syntax of languages. EAG is a member of the family
- of two-level grammars. They are very closely related to
- two-level van Wijngaarden grammars. The EAG compiler will
- generate either a recognizer or a transducer or a translator or
- a syntax directed editor for a language described in the EAG
- formalism. [What's a tranducer? --ed]
- updated: 1993/09/14
-
- language: lex
- package: flex
- version: 2.3.8
- parts: scanner generator
- author: Vern Paxson <vern@ee.lbl.gov>
- how to get: ftp flex-2.3.8.tar.Z from a GNU archive site or ftp.ee.lbl.gov
- description: ?
- updated: ?
-
- language: Milarepa
- package: Milarepa Perl/BNF Parser
- version: Prototype 1.0
- parts: parser-generator, examples, tutorial
- author: Jeffrey Kegler <jeffrey@netcom.com>
- how to get: comp.lang.perl, direct by E-mail.
- The author is seeking an FTP site to hold the software.
- description: Milarepa takes a source grammar in the Milarepa language (a
- straightforward mix of BNF and Perl) and generates a Perl file,
- which, when enclosed in a simple wrapper, parses some third
- language described by the source grammar.
- This is intended to be a real hacker's parser. It is not
- restricted to LR(k), and the parse logic follows directly from
- the BNF. It handles ambiguous grammars, ambiguous tokens
- (tokens which were not positively identified by the lexer) and
- allows the programmer to change the start symbol. The grammar
- may not be left recursive. The input must be divided into
- sentences of a finite maximum length. There is no fixed
- distinction between terminals and non-terminals, that is, a
- symbol can both match the input AND be on the left hand side of
- a production. Multiple Marpa grammars are allowed in a single
- perl program.
- It's only a prototype primarily due to poor speed. This is
- intended to be remedied after Perl 5.0 is out.
- requires: perl
- updated: 1993/03/17
-
- language: Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, Prolog
- package: Tim Budd's C++ implementation of Kamin's interpreters
- version: ?
- parts: interpretors, documentation
- author: Tim Budd <budd@cs.orst.edu>
- how to get: ? ftp pub/budd/kamin/*.shar from cs.orst.edu ?
- description: a set of interpretors written as subclasses based on
- "Programming Languages, An Interpreter-Based Approach",
- by Samuel Kamin.
- requires: C++
- status: ?
- contact: Tim Budd <budd@fog.cs.orst.edu>
- updated: 1991/09/12
-
- language: perl, yacc
- iref: (Perl) perl-byacc
-
- language: Relation Grammar
- package: rl
- version: ?
- parts: ?
- author: Kent Wittenburg <kentw@bellcore.com>
- how to get: fto rl/* from flash.bellcore.com
- description: The RL files contain code for defining Relational Grammars and
- using them in a bottom-up parser to recognize and/or parse
- expressions in Relational Languages. The approach is a
- simplification of that described in Wittenburg, Weitzman, and
- Talley (1991), Unification-Based Grammars and Tabular Parsing
- for Graphical Languages, Journal of Visual Languages and
- Computing 2:347-370.
- This code is designed to support the definition and parsing of
- Relational Languages, which are characterized as sets of
- objects standing in user-defined relations. Correctness and
- completeness is independent of the order in which the input is
- given to the parser. Data to be parsed can be in many forms as
- long as an interface is supported for queries and predicates
- for the relations used in grammar productions. To date, this
- software has been used to parse recursive pen-based input such
- as math expressions and flowcharts; to check for data integrity
- and design conformance in databases; to automatically generate
- constraints in drag-and-drop style graphical interfaces; and to
- generate graphical displays by parsing relational data and
- generating output code.
- requires: Common Lisp
- ports: Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0
- updated: 1992/10/31
-
- language: S/SL (Syntax Semantic Language)
- package: ssl
- version: ?
- parts: parser bytecode compiler, runtime
- author: Rick Holt, Jim Cordy <cordy@qucis.queensu.ca> (language),
- Rayan Zachariassen <rayan@cs.toronto.edu> (C implementation)
- how to get: ftp pub/ssl.tar.Z from neat.cs.toronto.edu
- description: A better characterization is that S/SL is a language
- explicitly designed for making efficient recusive-descent
- parsers. Unlike most other languages, practicially the
- LEAST expensive thing you can do in S/SL is recur. A
- small language that defines input/output/error token
- names (& values), semantic operations (which are really
- escapes to a programming language but allow good
- abstration in the pseudo-code), and a pseudo-code
- program that defines a grammar by the token stream the
- program accepts. Alternation, control flow, and
- 1-symbol lookahead constructs are part of the
- language. What I call an S/SL "implementation", is a
- program that compiles this S/SL pseudo-code into a
- table (think byte-codes) that is interpreted by the
- S/SL table-walker (interpreter). I think the pseudo-code
- language is LR(1), and that the semantic mechanisms turn it
- into LR(N) relatively easily.
- + more powerful and cleaner than yac
- - slower than yacc
- reference: + Cordy, J.R. and Holt, R.C. [1980] Specification of S/SL:
- Syntax/Semantic Language, Computer Systems Research
- Institute, University of Toronto.
- + "An Introduction to S/SL: Syntax/Semantic Language" by
- R.C. Holt, J.R. Cordy, and D.B. Wortman, in ACM Transactions
- on Programming Languages and Systems (TOPLAS), Vol 4, No.
- 2, April 1982, Pages 149-178.
- updated: 1989/09/25
-
- language: TXL
- package: TXL: Tree Transformation Language
- version: 7.4
- parts: translator, documentation, tutorial, examples
- author: Jim Cordy <cordy@qucis.queensu.ca>
- how to get: ftp pub/txl/* from ftp.qucis.queensu.ca
- description: TXL is a language for performing source to source
- transformations and is well suited for rapidly prototyping
- new languages and language processors. It has also been used to
- prototype specification languages, command languages, and more
- traditional program transformation tasks such as constant
- folding, type inference, source optimization and reverse
- engineering. TXL takes as input an arbitrary context-free
- grammar in extended BNF-like notation, and a set of
- show-by-example transformation rules to be applied to inputs
- parsed using the grammar. TXL is a functional/rule-based
- hybrid programming language, using the paradigm of structural
- transformation.
- reference: Several listed in software documentation
- updated: 1993/08/04
-
- language: BNF (extended)
- package: SORCERER: A Simple Tree Parser Generator
- version: 1.00B
- parts: translator, documentation, tutorial, examples
- author: Terence Parr <parrt@s1.arc.umn.edu>
- how to get: ftp pub/pccts/sorcerer/* from marvin.ecn.purdue.edu
- description: SORCERER is more suitable for the class of translation problems
- lying between those solved by code-generator generators and by
- full source-to-source translator generators. SORCERER
- generates simple, flexible, top-down, tree parsers that, in
- contrast to code-generators, may execute actions at any point
- during a tree walk. SORCERER accepts extended BNF notation,
- allows predicates to direct the tree walk with semantic and
- syntactic context information, and does not rely on any
- particular intermediate form, parser generator, or other
- pre-existing application.
- discussion: send mail with a body of "subscribe pccts-users your_name" to
- pccts-users@ahpcrc.umn.edu. "your_name" can be email, or full.
- help: from mailing list
- support: actively supported, from mailing list
- reference: Several listed in software documentation
- updated: 1994/02/15
-
- mathematical tools and languages
- -------------------------------------------------------------------------------
- category: mathematical tools and languages
- description: These are either special-purpose languages and tools, or
- general purpose langauges and tools that have traditionally
- been used for mathematical and scientific computing task.
- lref: Fortran
- lref: PCN
- lref: CLP
- lref: Sisal
-
- language: APL
- package: I-APL
- version: ?
- parts: ?
- author: ?
- how to get: ftp languages/apl/* from watserv1.waterloo.edu
- description: ?
- updated: 1992/07/06
-
- language: APL
- package: APLWEB
- version: ?
- parts: translator(web->apl), translator(web->TeX)
- author: Dr. Christoph von Basum <CvB@erasmus.hrz.uni-bielefeld.de>
- how to get: ftp languages/apl/aplweb/* from watserv1.uwaterloo.ca
- description: [Should this be listed with the Web entries? -- Ed.]
- updated: 1992/12/07
-
- language: APL
- iref: (Pascal) Tim Budd's C++ implementation of Kamin's interpreters
-
- language: J
- package: J-mode
- version: ?
- parts: emacs macros
- author: ?
- how to get: ftp pub/j/gmacs/j-interaction-mode.el from think.com
- description: add on to J
- updated: 1991/03/04
-
- language: RLaB language (math manipulation - MATLAB-like)
- package: RLaB
- version: 0.95
- parts: interpreter, libraries, documentation
- author: Ian Searle <ians@eskimo.com>
- how to get: ftp pub/RLaB/* from evans.ee.adfa.oz.au
- description: RLaB is a "MATLAB-like" matrix-oriented programming
- language/toolbox. RLaB focuses on creating a good experimental
- environment (or laboratory) in which to do matrix math
- Currently RLaB has numeric scalars and matrices (real and
- complex), and string scalars, and matrices. RLaB also contains
- a list variable type, which is a heterogeneous associative
- array.
- bugs: Ian Searle <ians@eskimo.com>
- restriction: GNU General Public License
- requires: GNUPLOT, lib[IF]77.a (from f2c)
- ports: many unix, OS/2, Amiga
- updated: 1993/10/27
-
- language: octave language (math manipulation - MATLAB-like)
- package: octave
- version: 1.0
- parts: interpreter, libraries, documentation
- author: John W. Eaton
- how to get: ftp /pub/octave/* from ftp.che.utexas.edu
- also, any GNU archive site (see archive listing below)
- description: Octave is a high-level language, primarily intended for
- numerical computations. It provides a convenient command line
- interface for solving linear and nonlinear problems
- numerically.
- Octave can do arithmetic for real and complex scalars and
- matrices, solve sets of nonlinear algebraic equations,
- integrate functions over finite and infinite intervals, and
- integrate systems of ordinary differential and
- differential-algebraic equations.
- bugs: bug-octave@che.utexas.edu
- restriction: GNU General Public License
- requires: gnuplot, C++ compiler and FORTRAN compiler or f2c translator.
- ports: several
- updated: 1994/2/23
-
- language: FUDGIT language (math manipulation)
- package: FUDGIT
- version: 2.27
- parts: interpreter
- author: Thomas Koenig <ig25@rz.uni-karlsruhe.de> ??
- how to get: ftp /pub/linux/sources/usr.bin/fudgit-* from tsx-11.mit.edu ??
- description: FUDGIT is a double-precision multi-purpose fitting program. It
- can manipulate complete columns of numbers in the form of
- vector arithmetic. FUDGIT is also an expression language
- interpreter understanding most of C grammar except pointers.
- Morever, FUDGIT is a front end for any plotting program
- supporting commands from stdin. It is a nice mathematical
- complement to GNUPLOT, for example.
- requires: GNUPLOT
- ports: AIX, HPUX, Linux, IRIX, NeXT, SunOS, Ultrix
- updated: 1993/02/22
-
- language: Unix BC (arbitrary-precision arithmetic language)
- package: C-BC
- version: 1.1
- parts: bytecode compiler, interpreter, documentation, examples
- author: Mark Hopkins <mark@freenet.uwm.edu>
- how to get: alt.sources (10/04/93).
- description: A strongly typed version of BC with expanded C-like syntax,
- more base types, with ability to form array and pointer types
- of any dimension and to allocate/free arrays at run-time.
- conformance: Most POSIX-BC features supported, except functions must be
- declared consistently and declared before first use. String
- handling slightly different.
- reference: C-BC implementation notes contained with software documentation
- requires: ANSI-C compiler
- ports: DOS, Unix
- portability: No system dependent features present.
- updated: 1993/08/23
-
- language: Unix BC (arbitrary-precision arithmetic language)
- package: GNU BC
- version: 1.02
- parts: parser (yacc), interpreter, BC math library
- author: Philip A. Nelson <phil@cs.wwu.edu>
- how to get: ftp bc-1.02.tar.Z from a GNU archive site
- description: BC is an arbitrary precision numeric processing language with a
- C-like syntax that traditionally provided a front-end to DC.
- This version, however, is self-contained and internally
- executes its own compiled code (unrelated to DC code).
- restriction: Source code falls under the GNU CopyLeft.
- requires: vsprintf and vfprintf routines
- ports: Unix (BSD, System V, MINIX, POSIX)
- conformance: Superset of POSIX BC (P10003.2/D11), with a POSIX-only mode.
- updated: ?
-
- language: Calc? (symbolic math calculator)
- package: Calc
- version: 2.02
- parts: interpreter, emacs mode, documentation
- author: Dave Gillespie <daveg@cs.caltech.edu>
- how to get: ftp calc-2.02.tar.z from a GNU archive site
- description: Calc is an extensible, advanced desk calculator and
- mathematical tool written in Emacs Lisp that runs as part of
- GNU Emacs. It is accompanied by the "Calc Manual", which
- serves as both a tutorial and a reference. If you wish, you
- can use Calc as only a simple four-function calculator, but it
- also provides additional features including choice of algebraic
- or RPN (stack-based) entry, logarithms, trigonometric and
- financial functions, arbitrary precision, complex numbers,
- vectors, matrices, dates, times, infinities, sets, algebraic
- simplification, differentiation, and integration.
- bugs: ?
- updated: ?
-
- language: C-like caluculator
- package: Arbitrary precision calculator
- version: 1.26.4
- parts: interpreter
- author: David I. Bell <dbell@canb.auug.org.au>
- how to get: ftp pub/calc from ftp.uu.net
- description: Arbitrary precision C-like calculator [similar to BC? --ed]
- ports: Linux
- updated: 1993/06/15
-
- language: Unix DC (arbitrary-precision arithmetic language)
- package: GNU DC
- version: 0.2
- parts: interpreter
- author: ?
- how to get: ftp dc-0.2.tar.Z from a GNU archive site
- description: DC is the language for an arbitrary precision postfix
- calculator. This version is a subset of DC that handles all
- the Unix DC operations, except the (undocumented) array
- operations.
- status: Attempting integration with GNU BC.
- updated: 1993/05/21
-
- language: Fortran
- package: f2c
- version: 1993.04.28
- parts: translator (to C), postscript documentation, man pages,
- support libraries.
- author: S. I. Feldman, D. M. Gay, M. W. Maimone and N. L. Schryer
- how to get: ftp from netlib@research.att.com:netlib/f2c/src/*
- description: translator (Fortran 77 to ANSI C or C++)
- bugs: D. M. Gay <dmg@research.att.com>
- updated: 1993 April 27
-
- language: Fortran
- package: Floppy
- version: ?
- parts: ?
- author: ?
- how to get: ffccc in comp.sources.misc archive volume 12
- description: ?
- contact: ?
- updated: 1992/08/04
-
- language: Fortran
- package: Flow
- version: ?
- parts: ?
- author: Julian James Bunn <julian@vxcrna.cxern.ch>
- how to get: comp.sources.misc archive volume 31
- description: The Flow program is a companion to Floppy, it allows the user
- to produce various reports on the structure of Fortran
- 77 code, such as flow diagrams and common block tables.
- requires: Floppy
- ports: VMS, Unix, CMS
- updated: ?
-
- language: Fortran
- package: Adaptor (Automatic DAta Parallelism TranslatOR)
- version: 1.0
- parts: preprocessor, library, documentation
- author: ?
- how to get: ftp gmd/adaptor/adp_1.0.tar.Z from ftp.gmd.de
- description: Adaptor is a tool that transforms data parallel
- programs written in Fortran with array extensions,
- parallel loops, and layout directives to parallel
- programs with explicit message passing.
- ADAPTOR is not a compiler but a source to source
- transformation that generates Fortran 77 host and
- node programs with message passing. The new
- generated source codes have to be compiled by the
- compiler of the parallel machine.
- ports: CM-5, iPCS/860, Meiko CS1/CS2, KSR 1, SGI, Alliant,
- network of Suns, or RS/6000s
- contact: Thomas Brandes <brandes@gmdzi.gmd.de>
- updated: 1993/06
-
- language: Fortran, C
- package: cfortran.h
- version: 2.6
- parts: macros, documentation, examples
- author: Burkhard Burow
- how to get: ftp cfortran/* from zebra.desy.de
- description: cfortran.h is an easy-to-use powerful bridge between
- C and FORTRAN. It provides a completely transparent, machine
- independent interface between C and FORTRAN routines and
- global data.
- cfortran.h provides macros which allow the C preprocessor to
- translate a simple description of a C (Fortran) routine or
- global data into a Fortran (C) interface.
- reference: reviewed in RS/Magazine November 1992 and
- a user's experiences with cfortran.h are to be described
- in the 1/93 issue of Computers in Physics.
- ports: VAX VMS or Ultrix, DECstation, Silicon Graphics, IBM RS/6000,
- Sun, CRAY, Apollo, HP9000, LynxOS, f2c, NAG f90.
- portability: high
- contact: burow@vxdesy.cern.ch
- updated: 1992/04/12
-
- language: Fortran
- package: fsplit
- version: ?
- parts: ?
- author: ?
- how to get: ?
- description: a tool to split up monolithic fortran programs
- updated: ?
-
- language: Fortran
- package: ?
- version: ?
- parts: ?
- author: Steve Mccrea <mccrea@gdwest.gd.com>
- how to get: ?
- description: a tool to split up monolithic fortran programs
- requires: new awk
- updated: ?
-
- language: Fortran
- package: Fortran77 -> Fortran90 converter
- version: ? 1
- parts: translator(Fortran 77 -> Fortran 90), documentation?
- author: metcalf@cernvm.cern.ch <Michael Metcalf>
- how to get: ftp pub/MandR/convert.f90 from jkr.cc.rl.ac.uk
- description: A Fortran77 to Fortran90 translator. There's a number of
- significant differences between the two Fortrans that makes
- a package like this useful.
- updated: 1993/07/17
-
- language: J
- package: J from ISI
- version: 6
- parts: interpreter, tutorial
- author: Kenneth E. Iverson and Roger Hui <hui@yrloc.ipsa.reuter.com>
- how to get: ftp languages/apl/j/* from watserv1.waterloo.edu
- description: J was designed and developed by Ken Iverson and Roger Hui. It
- is similar to the language APL, departing from APL in using
- using the ASCII alphabet exclusively, but employing a spelling
- scheme that retains the advantages of the special alphabet
- required by APL. It has added features and control structures
- that extend its power beyond standard APL. Although it can be
- used as a conventional procedural programming language, it can
- also be used as a pure functional programming language.
- ports: Dec, NeXT, SGI, Sun-3, Sun-4, VAX, RS/6000, MIPS, Mac, Acorn
- IBM-PC, Atari, 3b1, Amiga
- updated: 1992/10/31
-
- language: Ratfor
- package: ? ratfor ?
- version: ?
- parts: translator(Ratfor->Fortran IV)
- author: Brian Kernighan and P.J. Plauger (wrote the book anyway)
- how to get: comp.sources.unix archives volume 13
- description: Ratfor is a front end language for Fortran. It was designed
- to give structured control structures to Fortran. It is
- mainly of historical significance.
- updated: ?
-
- language: Y (cross between C and Ratfor)
- package: y+po
- version: ?
- parts: compiler
- author: Jack W. Davidson and Christopher W. Fraser
- how to get: ftp pub/y+po.tar.Z from ftp.cs.princeton.edu
- description: Davidson/Fraser peephole optimizer PO [1-3] [where the GCC RTL
- idea and other optimization ideas came from] along with the Y
- compiler [cross between C+ratfor] is ftpable from
- ftp.cs.princeton.edu: /pub/y+po.tar.Z. It is a copy of the
- original distribution from the University of Arizona during the
- early 80's, totally unsupported, almost forgotten [do not bug
- the authors] old code, possibly of interest to
- compiler/language hackers.
- reference: Jack W. Davidson and Christopher W. Fraser, "The Design and
- Application of a Retargetable Peephole Optimizer", TOPLAS, Apr.
- 1980.
- Jack W. Davidson, "Simplifying Code Through Peephole
- Optimization" Technical Report TR81-19, The University of
- Arizona, Tucson, AZ, 1981.
- Jack W. Davidson and Christopher W. Fraser, "Register
- Allocation and Exhaustive Peephole Optimization"
- Software-Practice and Experience, Sep. 1984.
- status: history
- updated: ?
-
- electrical engineering languages
- -------------------------------------------------------------------------------
- category: electrical engineering languages
- description: These are languages used for simulating, designing, and
- specifying circuits.
-
- language: CASE-DSP (Computer Aided Software Eng. for Digital Signal Proc)
- package: Ptolemy
- version: 0.4.1
- parts: grahpical algorithm layout, code generator, simulator
- author: ?
- how to get: ftp pub/ptolemy/* from ptolemy.bekeley.edu
- description: Ptolemy provides a highly flexible foundation for the
- specification, simulation, and rapid prototyping of systems.
- It is an object oriented framework within which diverse models
- of computation can co-exist and interact. For example, using
- Ptolemy a data-flow system can be easily connected to a
- hardware simulator which in turn may be connected to a
- discrete-event system, etc. Because of this, Ptolemy can be
- used to model entire systems.
- In addition, Ptolemy now has code generation capabilities.
- from a flow graph description, Ptolemy can generate both C code
- and DSP assembly code for rapid prototyping. Note that code
- generation is not yet complete, and is included in the current
- release for demonstration purposes only.
- requires: C++, C
- ports: Sun-4, MIPS/Ultrix; DSP56001, DSP96002.
- status: active research project
- discussion: ptolemy-hackers-request@ohm.berkeley.edu
- contact: ptolemy@ohm.berkeley.edu
- updated: 1993/04/22
-
- language: EDIF (Electronic Design Interchange Format)
- package: Berkeley EDIF200
- version: 7.6
- parts: translator-building toolkit
- author: Wendell C. Baker and Prof A. Richard Newton of the Electronics
- Research Laboratory, Department of Electrical Engineering and
- Computer Sciences at the University of California, Berkeley, CA
- how to get: ftp from pub/edif in ic.berkeley.edu
- description: ?
- restriction: no-profit w/o permission
- ports: ?
- updated: 1990/07
-
- language: Verilog, XNF
- package: XNF to Verilog Translator
- version: ?
- parts: translator(XNF->Verilog)
- author: M J Colley <martin@essex.ac.uk>
- how to get: ftp pub/dank/xnf2ver.tar.Z from punisher.caltech.edu
- description: This program was written by a postgraduate student as part
- of his M.Sc course, it was designed to form part a larger
- system operating with the Cadence Edge 2.1 framework. This
- should be born in mind when considering the construction
- and/or operation of the program.
- updated: ?
-
- language: VHDL
- package: ALLIANCE
- version: 1.1
- parts: compiler, simulator, tools and environment, documentation
- author: ?
- how to get: ftp pub/cao-vlsi/alliance from ftp-masi.ibp.fr
- description: ALLIANCE 1.1 is a complete set of CAD tools for teaching
- Digital CMOS VLSI Design in Universities. It includes VHDL
- compiler and simulator, logic synthesis tools, automatic place
- and route, etc... ALLIANCE is the result of a ten years effort
- at University Pierre et Marie Curie (PARIS VI, France).
- ports: Sun4, also not well supported: Mips/Ultrix, 386/SystemV
- discussion: alliance-request@masi.ibp.fr
- contact: cao-vlsi@masi.ibp.fr
- updated: 1993/02/16
- --
- Send compilers articles to compilers@iecc.com or
- {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com.
-